<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 作用域 => 代码的执行区域  

    // 块级作用域 => 包含成对 {} 的代码执行区域
    // 注意: 对象虽然有{} 但是它是数据 => 并不是作用域

    // if (true) {

    // } else if (true) {

    // } else {

    // }

    // switch(true){

    // }

    // while () {

    // }

    // do {

    // } while ();

    // for (var i = 0; i < 100; i++) {

    // }

    /* var obj = { //对象虽然有{} 但是它是数据 => 并不是作用域
        a: 1,
        b: 2,
        c: 3,
        // console.log(1);
        c: function () {

        }
    }*/

    // 块级作用域中let和const声明的变量都是局部变量, 块级作用域对var没有影响
    debugger;
    {
        var a = 10;  // 块级作用域对var没有影响 => 当前包裹块级作用域的是全局作用域 => 存储在window中
        let b = 20;
        const c = 30;
        console.log(a, b, c);
    }

    console.log(a, b, c);  // b is not defined

</script>

</html>